Saturday, November 3, 2007


PATH_MAX simply isn't



Many C/C++ programmers at some point may run into a limit known as PATH_MAX. Basically, if you have to keep track of paths to files/directories, how big does your buffer have to be?
Most Operating Systems/File Systems I've seen, limit a filename or any particular path component to 255 bytes or so. But a full path is a different matter.

Many programmers will immediately tell you that if your buffer is PATH_MAX, or PATH_MAX+1 bytes, it's long enough. A good C++ programmer of course would use C++ strings (std::string or similar with a particular API) to avoid any buffer length issues. But even when having dynamic strings in your program taking care of the nitty gritty issue of how long your buffers need to be, they only solve half the problem.

Even a C++ programmer may at some point want to call the getcwd() or realpath() (fullpath() on Windows) functions, which take a pointer to a writable buffer, and not a C++ string, and according to the standard, they don't do their own allocation. Even ones that do their own allocation very often just allocate PATH_MAX bytes.

getcwd() is a function to return what the current working directory is. realpath() can take a relative or absolute path to any filename, containing .. or levels of /././. or extra slashes, and symlinks and the like, and return a full absolute path without any extra garbage. These functions have a flaw though.

The flaw is that PATH_MAX simply isn't. Each system can define PATH_MAX to whatever size it likes. On my Linux system, I see it's 4096, on my OpenBSD system, I see it's 1024, on Windows, it's 260.

Now performing a test on my Linux system, I noticed that it limits a path component to 255 characters on ext3, but it doesn't stop me from making as many nested ones as I like. I successfully created a path 6000 characters long. Linux does absolutely nothing to stop me from creating such a large path, nor from mounting one large path on another. Running getcwd() in such a large path, even with a huge buffer, fails, since it doesn't work with anything past PATH_MAX.

Even a commercial OS like Mac OS X defines it as 1024, but tests show you can create a path several thousand characters long. Interestingly enough, OSX's getcwd() will properly identify a path which is larger than its PATH_MAX if you pass it a large enough buffer with enough room to hold all the data. This is possible, because the prototype for getcwd() is:
char *getcwd(char *buf, size_t size);


So a smart getcwd() can work if there's enough room. But unfortunately, there is no way to determine how much space you actually need, so you can't allocate it in advance. You'd have to keep allocating larger and larger buffers hoping one of them will finally work, which is quite retarded.

Since a path can be longer than PATH_MAX, the define is useless, writing code based off of it is wrong, and the functions that require it are broken.

An exception to this is Windows. It doesn't allow any paths to be created larger than 260 characters. If the path was created on a partition from a different OS, Windows won't allow anything to access it. It sounds strange that such a small limit was chosen, considering that FAT has no such limit imposed, and NTFS allows paths to be 32768 characters long. I can easily imagine someone with a sizable audio collection having a 300+ character path like so:
"C:\Documents and Settings\Jonathan Ezekiel Cornflour\My Documents\My Music\My Personal Rips\2007\Technological\Operating System Symphony Orchestra\The GNOME Musical Men\I Married Her For Her File System\You Don't Appreciate Marriage Until You've Noticed Tax Pro's Wizard For Married Couples.Track 01.MP5"


Before we forget, here's the prototype for realpath:
char *realpath(const char *file_name, char *resolved_name);


Now looking at that prototype, you should immediately say to yourself, but where's the size value for resolved_name? We don't want a buffer overflow! Which is why OSs will implement it based on the PATH_MAX define.
The resolved_name argument must refer to a buffer capable of storing at least PATH_MAX characters.

Which basically means, it can never work on a large path, and no clever OS can implement around it, unless it actually checks how much RAM is allocated on that pointer using an OS specific method - if available.

For these reasons, I've decided to implement getcwd() and realpath() myself. We'll discuss the exact specifics of realpath() next time, for now however, we will focus on how one can make their own getcwd().

The idea is to walk up the tree from the working directory, till we reach the root, along the way noting which path component we just went across.
Every modern OS has a stat() function which can take a path component and return information about it, such as when it was created, which device it is located on, and the like. All these OSs except for Windows return the fields st_dev and st_ino which together can uniquely identify any file or directory. If those two fields match the data retrieved in some other way on the same system, you can be sure they're the same file/directory.
To start, we'd determine the unique ID for . and /, once we have those, we can construct our loop. At each step, when the current doesn't equal the root, we can change directory to .., then scan the directory (using opendir()+readdir()+closedir()) for a component with the same ID. Once a matching ID is found, we can denote that as the correct name for the current level, and move up one.

Code demonstrating this in C++ is as follows:


bool getcwd(std::string& path)
{
typedef std::pair<dev_t, ino_t> file_id;

bool success = false;
int start_fd = open(".", O_RDONLY); //Keep track of start directory, so can jump back to it later
if (start_fd != -1)
{
struct stat sb;
if (!fstat(start_fd, &sb))
{
file_id current_id(sb.st_dev, sb.st_ino);
if (!stat("/", &sb)) //Get info for root directory, so we can determine when we hit it
{
std::vector<std::string> path_components;
file_id root_id(sb.st_dev, sb.st_ino);

while (current_id != root_id) //If they're equal, we've obtained enough info to build the path
{
bool pushed = false;

if (!chdir("..")) //Keep recursing towards root each iteration
{
DIR *dir = opendir(".");
if (dir)
{
dirent *entry;
while ((entry = readdir(dir))) //We loop through each entry trying to find where we came from
{
if ((strcmp(entry->d_name, ".") && strcmp(entry->d_name, "..") && !lstat(entry->d_name, &sb)))
{
file_id child_id(sb.st_dev, sb.st_ino);
if (child_id == current_id) //We found where we came from, add its name to the list
{
path_components.push_back(entry->d_name);
pushed = true;
break;
}
}
}
closedir(dir);

if (pushed && !stat(".", &sb)) //If we have a reason to contiue, we update the current dir id
{
current_id = file_id(sb.st_dev, sb.st_ino);
}
}//Else, Uh oh, can't read information at this level
}
if (!pushed) { break; } //If we didn't obtain any info this pass, no reason to continue
}

if (current_id == root_id) //Unless they're equal, we failed above
{
//Built the path, will always end with a slash
path = "/";
for (std::vector<std::string>::reverse_iterator i = path_components.rbegin(); i != path_components.rend(); ++i)
{
path += *i+"/";
}
success = true;
}
fchdir(start_fd);
}
}
close(start_fd);
}

return(success);
}


Before we accept that as the defacto method to use in your application, let us discuss the flaws.

As mentioned above, it doesn't work on Windows, but a simple #ifdef for Windows can just make it a wrapper around the built in getcwd() with a local buffer of size PATH_MAX, which is fine for Windows, and pretty much no other OS.

This function uses the name getcwd() which can conflict with the built in C based one which is a problem for certain compilers. The fix is to rename it, or put it in its own namespace.

Next, the built in getcwd() implementations I checked only have a trailing slash on the root directory. I personally like having the slash appended, since I'm usually concatenating a filename onto it, but note that if you're not using it for concatenation, but to pass to functions like access(), stat(), opendir(), chdir(), and the like, an OS may not like doing the call with a trailing slash. I've only noticed that being an issue with DJGPP and a few functions. So if it matters to you, the loop near the end of the function can easily be modified to not have the trailing slash, except in the case that the root directory is the entire path.

This function also changes the directory in the process, so it's not thread safe. But then again, many built in implementations aren't thread safe either. If you use threads, calculate all the paths you need prior to creating the threads. Which is probably a good idea, and keep using path names based off of your absolute directories in your program, instead of changing directories during the main execution elsewhere in the program. Otherwise, you'll have to use a mutex around the call, which is also a valid option.

There could also be the issue that some level of the path isn't readable. Which can happen on UNIX, where to enter a directory, one only needs execute permission, and not read permission. I'm not sure what one can do in that case, except maybe fall back on the built in one hoping it does some magical Kernel call to get around it. If anyone has any advice on this one, please post about it in the comments.

Lastly, this function is written in C++, which is annoying for C users. The std::vector can be replaced with a linked list keeping track of the components, and at the end, allocate the buffer size needed, and return the allocated buffer. This requires the user to free the buffer on the outside, but there really isn't any other safe way of doing this.
Alternatively, instead of a linked list, a buffer which is constantly reallocated can be used while building the path, constantly memmove()'ing the built components over to the higher part of the buffer.

During the course of the rest of the program, all path manipulation should be using safe allocation managing strings such as std::string, or should be based off of the above described auto allocating getcwd() and similar functions, and constantly handling the memory management, growing as needed. Be careful when you need to get any path information from elsewhere, as you can never be sure how large it will be.

I hope developers realize that when not on Windows, using the incorrect define PATH_MAX is just wrong, and fix their applications. Next time, we'll discuss how one can implement their own realpath().

2,285 comments:

«Oldest   ‹Older   601 – 800 of 2285   Newer›   Newest»
deepika said...

This article is very useful for me.
python training in banglore>

Anjudevan said...

Nice Blog...Thanks for sharing..
Wordpress Training in Chennai
Wordpress Training
wordpress course fees
wordpress training in vadapalani
wordpress training in Guindy
Struts Training in Chennai
clinical sas training in chennai
Spring Training in Chennai
Photoshop Classes in Chennai
LoadRunner Training in Chennai

Raj Sharma said...

Awesome post. You Post is very informative. Thanks for Sharing.
Machine Learning Course in Noida

Anbarasan14 said...

Your blog is awesome with some unique content in it. Thanks for taking time to share.
Spoken English Classes in Chennai
Spoken English Class in Chennai
Spoken English in Chennai
IELTS Training in Chennai
IELTS Chennai
Best English Speaking Classes in Mumbai
Spoken English Classes in Mumbai
IELTS Mumbai
IELTS Center in Mumbai
IELTS Coaching in T Nagar

Film Video editing said...

Background Images For Photoshop Editing Hd Online

Photoscissors Serial Key

Tamilrockers New Link

tamilrockers 2018


Bhautik Patel said...

Ultimaterely lot of great information here. Very nice post.
Latest Technology News
Trending Tech News
whatsapp for ipads
whatsapp new features
whatsapp stickers from your selfies and photos
whatsapp bug

Tech ePaper said...

A really great post. I found a lot of useful information here.
latest technology news
latest news for gadgets
latest social media news
whatsApp animated sticker
whatsapp doodle

Janmashtami viral said...

best free live iptv apk

Products 24 said...

This is the exact information I am been searching for,
Products24
Really useful information. Thank you so much for sharing.
Green KineMaster

Janmashtami viral said...

iptv explained full info

Janmashtami viral said...

click here for govt job info

Kayal said...

The article is so informative. This is more useful for me. Keep doing great work and a good job.

Tableau Training in Chennai
Tableau Course in Chennai
Unix Training in Chennai
Embedded System Course Chennai
Oracle Training in Chennai
Social Media Marketing Courses in Chennai
Oracle DBA Training in Chennai
Pega Training in Chennai
Linux Training in Chennai
Job Openings in Chennai

QuickBooks Payroll Support Phone Number said...

QuickBooks Payroll Tech support telephone number So so now you have become well tuned directly into advantages of QuickBooks online payroll in your company accounting but because this premium software contains advanced functions that may help you along with your accounting task to complete, so you may face some technical errors while using the QuickBooks payroll solution. In that case, Quickbooks online payroll support number provides 24/7 make it possible to our customer. Only you must do is make an individual call at our toll-free QuickBooks Full Service Payroll Support. You could get resolve all of the major issues include installations problem, data access issue, printing related issue, software setup, server not responding error etc with our QuickBooks payroll support team.

Akash kumar said...
This comment has been removed by the author.
htop said...

nice message
aws training center in chennai
aws training in chennai
aws training institute in chennai
best angularjs training in chennai
angular js training in sholinganallur
angularjs training in chennai
azure training in chennai
data Science training in chennai

rdsraftaar said...

Each agent ought to have an answer just like the QuickBooks POS Tech Support of these projects can improve significantly the capacities and abilities of any deals driven organization. Come visit us and obtain some answers concerning these things.

Shadeep Shree said...

More impressive blog!!! Thanks for shared with us.... waiting for you upcoming data.
Software Testing Training in Chennai
software testing course in chennai
testing courses in chennai
software testing training institute in chennai
Software testing training in porur
Software testing training in OMR
Big data training in chennai
Android Training in Chennai
IOS Training in Chennai
Selenium Training in Chennai

Arjundevan said...

Awesome article....thanks for sharing...
SAS Training in Chennai
SAS Institute in Chennai
SAS Training Chennai
SAS Training in Velachery
SAS Training in Tambaram
clinical sas training in chennai
Mobile Testing Training in Chennai
QTP Training in Chennai
Hibernate Training in Chennai
DOT NET Training in Chennai

Maneesh said...

Clash of clans mod apk

Kinemaster pro apk

Benish said...

Its really awesome article.... Thank you for sharing useful information....

Anonymous said...

Pruning Magnolia Tree || All about Magnolia Trees

Anonymous said...

Pruning Magnolia Tree || All about Magnolia Trees

Manish said...
This comment has been removed by the author.
Manish said...

Check How
Hindi tip
rbse 12th result

rdsraftaar said...

QuickBooks Pro 2019 has arrived up with a few latest features that will assist you in extending your online business to new dimensions. With QuickBooks Pro 2019 you can have maximized tax deductions, facility to getting sales and financial reports in one-click, track how your company is performing and all sorts of this without necessarily having any prior accounting knowledge. Well QuickBooks Pro Plus 2019 also offers something to offer. It equips you with automated backup of information and its particular recovery, offers you all of the features of Pro and simple upgradation of the software. You can even enjoy add on host service in QuickBooks Pro 2019. Contact us at QuickBooks Upgrade Support Phone Number for any issue that bothers you when using this new edition of QuickBooks Pro.

rdsraftaar said...

QuickBooks accounting software program is integrated with various items like QuickBooks Enterprise(produced by Intuit) and tools like QuickBooks file doctor. Plus it offers a number of incredible features (Business plans, cash flow projections, and advanced inventory ) that make it unique from other Quickbooks product. It is really most suitable for small to medium businesses though it really is incredibly expensive. Without doubt, this has good compatibility with virtually every form of Windows OS, Mac OS, iOS, and Android. Yet you may possibly require an efficient QuickBooks Enterprise Support Number to address payroll management, account management, inventory, along with other accounting activities. AccountWizy provides you a perfect and efficient QuickBooks Enterprise Customer service to really make it all possible.

ExcelR Solutions said...

Very interesting, good job and thanks for sharing such a good blog. Your article is so convincing that I never stop myself to say something about it. You’re doing a great job. Keep it up. Its useful to us. Please suggest machine learning course

htop said...

nice message
best python training in chennai
selenium training in chennai
selenium training in omr
selenium training in sholinganallur
best java training in chennai
hadoop training in sholinganallur
best hadoop training in omr
best hadoop training in chennai

QuickBooks Payroll Support Phone Number said...

QuickBooks Support – Inuit Inc has indeed developed a fine software product to deal with the financial needs of the small and medium-sized businesses. The name associated with application is QuickBooks 24/7 Customer Service. QuickBooks, particularly, does not need any introduction for itself. But a person who is unknown to the great accounting software, we would like you to give it a try.

Indian Blogger said...

Marathi Whatsapp Group Links Join Now

Maneesh said...

Faceapp pro apk

Clash of clans mod apk

Kinemaster pro apk

MOBGOOGLY said...

igetintopc

MOBGOOGLY said...

Thank fo this artical Mobgoogly

MOBGOOGLY said...

thankgs for arhappy anniversary

Techtrick said...

khatrimaza Movies 2019

Sanfrans said...

If you are serious about a career pertaining to Data science, then you are at the right place. ExcelR is considered to be one of the best data science course institutes in Bangalore.

QuickBooks Payroll Support Phone Number said...

Our instantly QuickBooks Support team is perfect in taking down every QuickBooks error. We can assure you this with an assurance. Call our QuickBooks Support Phone Number. Our QuickBooks Support team will attend you.

tom wick said...

Our support, as covered by QuickBooks Enterprise Tech Experts at qbenterprisesupport.com, includes all the functional and technical aspects related to the QuickBooks Enterprise Customer Support Number. They include all QuickBooks errors encountered during the running of QuickBooks Enterprise and all issues faced during Installation, update, and the backup of QB Enterprise.

shwethapriya said...

Thanks for updating this information. Good job.
German Classes in Chennai
best german classes in chennai
french courses in chennai
pearson vue
Blockchain Training in Chennai
Ionic Training in Chennai 
German Classes in Anna Nagar
German Classes in Tambaram

Bryan Willson said...

Intuit QuickBooks Payroll services are accessed by many people people business people, accountants, CA, CPAs to calculate taxes and pay employees. Unfortunately, types of issues and errors arise for which they have to contact the QuickBooks Desktop Support.

Unknown said...

money earning apps

Stephen Marchant said...

Hi,Thanks for sharing valuable information.

Find some solution regarding Data Recovery Service in Brooklyn Laptop Repair Data laptop repair near me MacBook repair brooklyn



Blogsilly said...

Our research team at QuickBooks Tech Support Phone Number is dependable for most other reasons as well. We have customer care executives which are exceptionally supportive and pay complete awareness of the demand of technical assistance made by QuickBooks users. Our research team is always prepared beforehand because of the most appropriate solutions which are of great help much less time consuming. Their pre-preparedness helps them extend their hundred percent support to any or all the entrepreneurs along with individual users of QuickBooks.As tech support executives for QuickBooks, we assure our twenty-four hours a day availability at our technical contact number.

QuickBooks Payroll Support Phone Number said...

Why don't we show you in partitioning most of the QuickBooks errors by dialing the QuickBooks Phone Number and QuickBooks Support Number for any technical problem that you’re facing whereas victimization the code. Your final decision is used in a team of QuickBooks specialists WHO square measure extremely skillful and also have many years of expertise. they’ll resolve the errors fleetly and locate you back in business in no time.

Benish said...

Nice post.. thank you for sharing..
Python training in Chennai/
Python training in OMR/
Python training in Velachery/
Python certification training in Chennai/
Python training fees in Chennai/
Python training with placement in Chennai/
Python training in Chennai with Placement/
Python course in Chennai/
Python Certification course in Chennai/
Python online training in Chennai/
Python training in Chennai Quora/
Best Python Training in Chennai/
Best Python training in OMR/
Best Python training in Velachery/
Best Python course in Chennai/

Arslan Bhatti said...

ExcelR is a proud partner of University Malaysia Sarawak (UNIMAS), Malaysia's 1st public University and ranked 8th top university in Malaysia and ranked among top 200th in Asian University Rankings 2017 by QS World University Rankings. Participants will be awarded Data Science Acadmy International Certification from UNIMAS after successfully clearing the online examination. Participants who complete the assignments and projects will get the eligibility to take the online exam. Thorough preparation is required by the participants to crack the exam. ExcelR's faculty will do the necessary handholding. Mock papers and practice tests will be provided to the eligible participants which help them to successfully clear the examination.

Mathew said...

The satisfaction may be top class with Intuit QuickBooks Support . It is simple to contact us in a number of ways. You're able to travel to our website today. It's time to have the best help.

Blogsilly said...

QuickBooks Customer Care Telephone Number: Readily Available For every QuickBooks Version.Consist of a beautiful bunch of accounting versions, viz.,QuickBooks Pro, QuickBooks Premier, QuickBooks Enterprise, QuickBooks POS, QuickBooks Mac, QuickBooks Windows, and QuickBooks Payroll, QuickBooks has grown to become a dependable accounting software that one may tailor depending on your industry prerequisite. As well as it, our QuickBooks Customer Support Phone Number will bring in dedicated and diligent back-end helps for you for in case you find any inconveniences in operating any of these versions.

rst said...

thanks for giving great information

Se você está procurando por bom dia sabado
, então aqui estão algumas das melhores coleções

jose said...

Really nice post. Thank you for sharing amazing information.
Java Training in Chennai/Java Training in Chennai with Placements/Java Training in Velachery/Java Training in OMR/Java Training Institute in Chennai/Java Training Center in Chennai/Java Training in Chennai fees/Best Java Training in Chennai/Best Java Training in Chennai with Placements/Best Java Training Institute in Chennai/Best Java Training Institute near me/Best Java Training in Velachery/Best Java Training in OMR/Best Java Training in India/Best Online Java Training in India/Best Java Training with Placement in Chennai



Harpal prajapati said...

RRB NTPC Question

Harpal prajapati said...

RRB NTPC Question

Harpal prajapati said...

RRB NTPC Question

Anonymous said...

Just the way I have expected. Your website
data analytics certification really is interesting.

Anonymous said...

This is a great article thanks for sharing this informative information. I will visit your blog regularly for some latest post. I will visit your blog regularly for Some latest post.
data science course

Ellen Kwame Corkrum said...

Usually I never comment on blogs but your article is so convincing that I never stop myself to say something about it. You’re doing a great job Man,Keep it up.Ellen Kwame Corkrum

Emphasis said...


Poweramp is a powerful music player for Android. Using Poweramp Full Version Unlocker [Cracker]
For Android, you can access the extra features of the Poweramp music player.

https://www.hightechpicker.com/2019/08/poweramp-full-version-unlocker.html

Jamess said...

QuickBooks Basic Payroll Support Phone Number helps you to definitely resolve your entire technical and functional issues while looking after this well known extensive, premium and end-to-end business accounting and payroll management software. Our experts team at QuickBooks payroll support number is going to make you realize its advanced functions and assists anyone to lift up your business growth.

Reshma said...

Excellent article.Thanks for sharing this valuable information. keep updating like this..
Digital Marketing Course in velachery
Digital Marketing Course in T nagar
Digital Marketing Course in Tambaram
Digital Marketing Course in Anna nagar
Digital Marketing Course in Porur
Digital Marketing Course in Thiruvanmiyur
Digital Marketing Course in Adyar
Digital Marketing Course in OMR
Digital Marketing Course in Vadapalani


nothing said...

https://marketplace.whmcs.com/user/narendra9375/

technandu

Admin said...

Thank you so much for a well written

Your Website Has outstanding . thanks for shareing
Website hindiguide

Admin said...

outstanding

Biswajit Das said...

View My Free HEX to RGBA Tool and give me some feedback please.

QuickBooks Payroll Support said...

Simply put, we offer the best assistance when it comes to matters of technical hindrances. What makes us stand out from the rest of our competition is the dedication of our QuickBooks Support Number team. No matter what time or where you require help, our experts will always be there to support you. Our team is always prepared to assist you over the phone, though the live chat, via e-mail, or online.

QuickBooks Payroll Support Phone Number said...

Solve your queries related to QuickBooks Enhanced Payroll Tech Support whether Enhanced or Full Service. Fix all of the issues for QuickBooks Desktop Payroll Basic, Standard, & Payroll Assisted. Check out the aforementioned number to get hold of our ProAdvisor to possess support for QuickBooks online Payroll support, Intuit Online & Full Service Payroll.

back softe said...

Nice Information thanks Bhojpuri Actress With Name

Godaddy Promo Codes said...

Thanks very nice information keep up the good work.
Radhika Kumaraswamy Wiki
Jio Rockers Tamil
Ekart Logistics and Ekart Logistics Franchise
TamilRockers 2019
Airtel DTH Customer Care Number
The Pirate Bay Free

Godaddy Promo Codes said...
This comment has been removed by the author.
Maneesh said...

Clash of clans mod apk
kinemaster pro apk
faceapp pro apk
diskdigger pro apk
best laptop under 50000

Maneesh said...
This comment has been removed by the author.
Maneesh said...
This comment has been removed by the author.
Jasmine said...
This comment has been removed by the author.
Jamess said...

QuickBooks Payroll has emerged one of the better accounting software that has had changed the meaning of payroll. Quickbooks Payroll Support contact number will be the team that provide you QuickBooks Premier Support Number.

Blogsilly said...

Our research team at QuickBooks POS Support Phone Number is dependable for most other reasons as well. We have customer care executives which are exceptionally supportive and pay complete awareness of the demand of technical assistance made by QuickBooks users. Our research team is always prepared beforehand because of the most appropriate solutions which are of great help much less time consuming. Their pre-preparedness helps them extend their hundred percent support to any or all the entrepreneurs along with individual users of QuickBooks.As tech support executives for QuickBooks, we assure our twenty-four hours a day availability at our technical contact number.

kevin32 said...

The industry-specific editions of QuickBooks Enterprise Support Number software are designed to meet your every business reporting format. Whether you are using the contractor edition or the retail edition, our team offers smart technical help for all.

tom wick said...

Payroll experts available round the clock to help users get going. We now have QuickBooks Payroll Tech Support Phone Number to provide you assistance if you face any issue or problem pertaining to QuickBooks Payroll.

kevin32 said...

QuickBooks Customer Support Number could face problem in reconciling your hard earned money, there might be problems whilst you try to reconcile your charge cards, you will find problem inside the settings of this report and so on and so forth.

msruku said...

Banglalink new sim offer 2019!

Grand Status said...


https://wpbloggings.com/how-to-set-custom-robots-txt-file/
https://wpbloggings.com/best-5-seo-friendly-google-amp-blogger-template/

Raj Tattapure said...

Thanks a lot for writting such a great article. It's really has lots of insights and valueable informtion.
If you wish to get connected with AI world, we hope the below information will be helpful to you.

Python Training Classes in Pune


Python Interview Questions And Answers For Freshers


Data -Science Training Classes


ML(Machine Learning) Training Classes in Pune
related more information then meet on EmergenTeck Training Institute .

Machine Learning Interview Questions And Answers for Freshers

Thank you.!

QuickBooks Payroll Support Phone Number said...

we now have a tendency to rank our customers over something and therefore we try to offer you a swish accounting and management expertise. you’ll additionally visit our web site to induce to understand additional concerning our code and its upgrades. you’ll scan in-depth articles concerning most of the errors and also how you can resolve them. Rectifying errors desires in-depth information regarding the device as well as its intricacies. Our internet site can be a go-to supply for everything associated with QuickBooks Customer Service Phone Number.

tom wick said...

Now, as best as QuickBooks can be an accounting tool, you may need to face many types of issues. So, if you think like something is wrong with your software as they are struggling to resolve your issue in order to seek assistance from our QuickBooks support team. Our team of great experts, work day and night to ease any problems related to QuickBooks. And also you also get the best tech support team through the QuickBooks Support Phone Number team so you work properly in your accounts and raise your business.

QuickBooks Payroll Support Phone Number said...

QuickBooks facilitate for All quite Technical problems You can use QuickBooks to come up with any selection of reports you wish, keeping entries for several sales, banking transactions and plenty of additional. QuickBooks Premier Support Number provides a myriad of options and support services for an equivalent. it is commonplace to manage any errors on your own QuickBooks if you're doing not proceed with the syntax, if the code is not put in properly or if you’re having any corruption within the information of the QuickBooks.

tom wick said...

If you need best advise and support then get in touch with third-party independent AccountWizy Quickbooks customer care, we now have 3rd party independent certified Quickbooks pro Advisors for resolving any kind of Financial or accounting queries or error codes faced by QB customers. The QuickBooks Desktop Tech Support Number is toll-free while the professional technicians handling your support call can come up with an immediate solution that can permanently solve the glitches.

Blogsilly said...

Our QuickBooks Technical Support is obtainable for 24*7: Call @ Intuit QuickBooks Support any time.Take delight in with an array of outshined customer service services for QuickBooks via quickbooks technical support contact number at any time and from anywhere.It signifies that one can access our tech support for QuickBooks at any moment. Our backing team is dedicated enough to bestow you with end-to-end QuickBooks solutions when you desire to procure them for every single QuickBooks query.

Manish said...

Really useful information. Thank you so much for sharing. It will help everyone. Keep Post.
Check How
vidmate download

Aptoide APK said...

Aptoide APK is a third party application. Which is similar to the Google Play Store.
aptoide Apk
aptoide Apk download
aptoide ios
aptoide Apk download
aptoide ipad
appvalley apk
aptoide PC
aptoide PC
lucky patcher apk

Jack Dorsey said...

QuickBooks is an accounting software app which is used by businesses of most sizes. While using the QuickBooks, if you receive error messages such as QuickBooks Won’t Open your business fileî or ìQuickBooks is not able to open this company fileî then we could assist you to. This short article offers useful ideas to troubleshoot error QuickBooks wonít open company file.

steffan said...

QuickBooks Enterprise Technical Support Number assists anyone to overcome all bugs from the enterprise types of the applying form. Enterprise support team members remain available 24×7 your should buy facility of best services.

Jack Dorsey said...

QuickBooks Error 176109 should now be fixed. If you continue steadily to have the “INVALID PRODUCT CODE” error, you can test to reinstall QuickBooks Point of Sale Desktop or contact QuickBooks Support Number.

admin said...

Thanks you very much . keep posting

Anonymous said...

Amazing Post, Thank you for sharing this post really this is awesome and very useful.

Cheers!
Sir Very Nice Whatsapp Group Join Link 2019 Like Girl, Girls Number, Hacking Educational Click here For more Information
Real Girls Whatsapp Number Click Here
18+ Whatsapp Group Click Here
Hot Whatsapp Group Click Here
Tiktok Video Sharing Whatsapp Group Click Here

ameer said...

Just saying thanks will not just be sufficient, for the fantastic lucidity in your writing. I will instantly grab your articles to get deeper into the topic. And as the same way ExcelR also helps organisations by providing
data science courses based on practical knowledge and theoretical concepts. It offers the best value in training services combined with the support of our creative staff to provide meaningful solution that suits your learning needs.

Bhanu Sree said...

Thank you for sharing very useful blog!!!!
Docker and Kubernetes Training
Docker Training
Docker Online Training
Docker Training in Hyderabad
Kubernetes Online Training

Blogsilly said...

QuickBooks Customer Care Telephone Number: Readily Available For every QuickBooks Version.Consist of a beautiful bunch of accounting versions, viz.,QuickBooks Pro, QuickBooks Premier, QuickBooks Enterprise, QuickBooks POS, QuickBooks Mac, QuickBooks Windows, and QuickBooks Payroll, QuickBooks has grown to become a dependable accounting software that one may tailor depending on your industry prerequisite. As well as it, our QuickBooks Technical Support Phone Number will bring in dedicated and diligent back-end helps for you for in case you find any inconveniences in operating any of these versions.

kevin2 said...

Supervisors at Intuit QuickBooks Support have trained all their executives to combat the problems in this software. Utilizing the introduction of modern tools and techniques in QuickBooks, you can try new methods to carry out various business activities.

Sanfrans said...

I curious more interest in some of them hope you will give more information on this topics in your next articles. data science course
data science institute .

Blogsilly said...

Our QuickBooks Technical Support is obtainable for 24*7: Call @ QuickBooks Tech Support Phone Number any time.Take delight in with an array of outshined customer service services for QuickBooks via quickbooks technical support contact number at any time and from anywhere.It signifies that one can access our tech support for QuickBooks at any moment. Our backing team is dedicated enough to bestow you with end-to-end QuickBooks solutions when you desire to procure them for every single QuickBooks query.

admin said...

thankyou for this information easymath magic

verdure skills india pvt ltd said...

nice blog
packers and movers

infantroshow said...

great information thank you
Selenium training in chennai | Selenium training in velachery

Unique Clipping Path said...

"This is the best website for Unique clipping path and high quality image editing service Company in Qatar. Unique clipping path
"

Sam Daniel said...

Thank you for taking the time and sharing this information with us. Nice Blog. Keep Posting.
Corporate Excel Training in Chennai
Advanced Excel Training in Mumbai
Excel Corporate Training in Bangalore
Advanced Excel Training Delhi, Gurgaon, Noida

Lavkush said...

IIT JEE Coaching in Patna | IIT JEE Institute in Patna | NEET Coaching in Patna | Medical Coaching in Patna | JEE Mains, JEE Advance Coaching in Patna | Europa Classes

JEE Mains, JEE Advance Coaching in Patna

Lavkush said...

tipsontechnology

learn every time new tips on technology

Hey my audience, in this website we’ll post about many tips on technology. many tips on hacking, education and many entertainment niche. i’ll post somethin Tips on technology
g special for you, Everyday
So check out it from here

Lavkush said...

Anushka Sen:- She is an actress from India. she works on many roles in his tiny age. The main role of his carrier was Balveer as Mehar. Peoples calls him The purple star of India. His age in this time for about 17 years and she gets about three big roles in his acting carrier. And now she is working on Manikarnika(Jhansi ki Rani).

Anushka Sen

Ultratech4you said...

Great Information sharing .. I am very happy to read this article .. thanks for giving us go through info. Fantastic nice. I appreciate this post. and thank you for sharing an amazing article

Its VR Creation said...

Latest Movies Collection

Its VR Creation said...

Great Blog Thanks for sharing the information
Latest Movies

Adarsh Mishra said...

Wow You have really written a very good blog, it was really helpful for me as i was very much confused about it. I also write posts on programming language, if possible please have a look. Programming Language and Technology Explained

Saurav Chhabra said...

Wow This article is amazing i like your article, you can also check about movierulz and tamilrockers

movierulz

Unique Clipping Path said...

Unique clipping path and high quality image editing service Company in Qatar.We are offering Ecommerce product and all image editing service with reasonable price.See more Details visit here: Clipping Path

Benish said...

Nice post...Thanks for sharing...
Python training in Chennai/Python training in OMR/Python training in Velachery/Python certification training in Chennai/Python training fees in Chennai/Python training with placement in Chennai/Python training in Chennai with Placement/Python course in Chennai/Python Certification course in Chennai/Python online training in Chennai/Python training in Chennai Quora/Best Python Training in Chennai/Best Python training in OMR/Best Python training in Velachery/Best Python course in Chennai/<a

Bryan Willson said...

Don’t worry we have been always here to aid you. As you are able to dial our QuickBooks Payroll Support Phone Number. Our QB online payroll support team provide proper guidance to solve all issue connected with it. I'm going to be glad to help you.

Mathew said...

So in that case, QuickBooks Customer Technical Support Number merely need the most advanced & highly certified experts, and we also have given you our excellent professional or experts team in addition they offer you an instantaneous and very easy solution of your all issues or errors.

Jhonathan said...

I have perused your blog its appealing and worthy. I like it your blog.
Java application development services
Java application development company
java development services
java outsourcing company
hire java developer

Tech Guy said...

AWS training Globally. REGISTER NOW!!!
AWS training in Bangalore

Asish Dalal said...
This comment has been removed by the author.
Asish Dalal said...
This comment has been removed by the author.
PAYEL said...

Free Data On Airtel

steffan said...


QuickBooks Tech Support is given by technicians that are trained every so often to generally meet with any kind of queries related to integrating QuickBooks Premier with Microsoft Office related software.

Tech Guy said...

Best place to learn python in Bangalore. myTectra!
Python training in Bangalore

Tech Guy said...

Best place for python learning. myTectra!!
Python training in bangalore

steffan said...

This installation related problem may be solved by allowing the executives that are handling the Intuit QuickBooks Tech Support understand the details linked to your license together with date of purchase regarding the product to instantly solve the put up related issue.

Tech News said...

best courses
data science training in bangalore
iot training in bangalore
big data and hadoop training in bangalore
machine learning training in bangalore

Anonymous said...

Nice information keep sharing with us.


emergency visa for india

jameswill11 said...

You can further see the contact details on how to Contact QuickBooks Customer Service Number. QuickBooks technical support team are active just for 5 days (Mon-Fri) in a week. The QuickBooks support telephone number is available these days.

kevin2 said...

This wonderful accounting tool is principally utilized for bookkeeping purposes to simply take care of the many business people account. And in addition QuickBooks Upgrade Support is the best accounting software for resources and always saving time.

jameswill11 said...

Through these business owners or entrepreneurs can certainly manage their business (financial and accounting information) accurately. But sometime when using it you might need appropriate and effective Quickbooks help by either you or your QuickBooks online accountant for top level and effective utilization of this software. The QuickBooks Desktop Tech Support is toll-free plus the professional technicians handling your support call may come up with an immediate solution that will permanently solve the glitches.

steffan said...

QuickBooks is a robust accounting platform that throws less errors in comparison with others. Sometimes you could face technical errors into the software while installation or upgrade related process. To get the errors resolved by professionals, give us a call at QuickBooks Tech Support Phone Number.

Tech Guy said...

AWS Training in bangalore!!
visit:
AWS Training in bangalore

Tech Guy said...

AWS Training in Bangalore!!
visit:
AWS Training in bangalore

IT Canvass said...

Great post. Thanks for sharing a clear step by step process on getting in the nice.
thank you.
service now administration training

Indhu said...

nice blog
ccna course in coimbatore
ccna training institute in coimbatore
java training in coimbatore
software testing course in coimbatore
software training institutes in coimbatore

kevin2 said...

you’ll scan in-depth articles concerning all the errors and also the way to resolve them. Rectifying errors desires in-depth details about the device and QuickBooks Customer Support Phone Number own intricacies.

Tech Guy said...

For data science training in bangalore, visit:
Data science training in bangalore

seoexpert said...

Nice Post...I have learn some new information.thanks for sharing.
Data Science Training In Bangalore

hubSpot said...

nice information. must watch video
what are your weakness

hubSpot said...

if you want to know question for Artificial Intelligence asked by HR.
artificial intelligence interview question

hubSpot said...

nice information.
sap functional interview questions

Godaddy Promo Code said...

Radhika Kumaraswamy Wiki
Jio Rockers Tamil
Ekart Logistics and Ekart Logistics Franchise
TamilRockers 2019
Airtel DTH Customer Care Number
The Pirate Bay Free
Get PayTm Payment Bank Franchise – Become Partner
ThiruttuMovies 2019 Latest Tamil, Telugu Movies HD Download
TamilRockers 2019 Latest Hindi dubbed movies download

Unknown said...

very useful information.thanks for sharing
Se você está procurando por nomes para wifi
, então aqui estão algumas das melhores coleções

Tech Guy said...

Very good content.
Visit, for blockchain training in bangalore:
Blockchain training in Bangalore

Benish said...

Nice blog...Thanks for sharing useful information...
Python training in Chennai/Python training in OMR/Python training in Velachery/Python certification training in Chennai/Python training fees in Chennai/Python training with placement in Chennai/Python training in Chennai with Placement/Python course in Chennai/Python Certification course in Chennai/Python online training in Chennai/Python training in Chennai Quora/Best Python Training in Chennai/Best Python training in OMR/Best Python training in Velachery/Best Python course in Chennai/<a

Tech Guy said...

Nice content.
For python training in bangalore, Visit:
Python training in bangalore

mobile application development said...

Amazing Post. Your blog is very inspiring. Thanks for Posting.
Mobile App Development Company in chennai
mobile app development chennai
Mobile application development company in chennai
Mobile application development chennai
Mobile apps development companies in chennai
enterprise mobile app development company

back softe said...

https://www.tamilrockerstime.xyz/
https://www.tamilrockerstime.xyz/2019/08/coolie-no1-2020-full-crew-cast-release.html

Shruti chaudhary said...

Check it thanks for this wonderful information

Shruti chaudhary said...

Turbo Vpn Mod

vikki said...

SEO Trcks

Health Buks said...

best post ever

Health Buks said...

very healthy posts !
https://www.healthbuks.com/

theindianguide said...

oats in hindi

Anonymous said...

Apple is going to pay up to $1 million researchers who find bugs, vulnerabilities.

Indhu said...

nice blog
android training institutes in coimbatore
ios training in coimbatore
amazon web services training in coimbatore
aws training in coimbatore
big data training in coimbatore
hadoop training in coimbatore
data science training in coimbatore

Indhu said...

nice blog
android training institutes in coimbatore
ios training in coimbatore
amazon web services training in coimbatore
aws training in coimbatore
big data training in coimbatore
hadoop training in coimbatore
data science training in coimbatore

Indhu said...

nice blog
android training institutes in coimbatore
ios training in coimbatore
amazon web services training in coimbatore
aws training in coimbatore
big data training in coimbatore
hadoop training in coimbatore
data science training in coimbatore

Convertible Baby Cribs said...


davinci kalani 4-in-1 convertible crib with toddler rail


These baby cribs reviews help you to find out a traditional, unique, safe,
comfortable, reliable, sustainable and also most perfect baby cribs.

Convertible Baby Cribs said...

best convertible baby cribs


These baby cribs reviews help you to find out a traditional, unique, safe,
comfortable, reliable, sustainable and also most perfect baby cribs.

Benish said...

Nice post...Thanks for sharing....
Python training in Chennai/Python training in OMR/Python training in Velachery/Python certification training in Chennai/Python training fees in Chennai/Python training with placement in Chennai/Python training in Chennai with Placement/Python course in Chennai/Python Certification course in Chennai/Python online training in Chennai/Python training in Chennai Quora/Best Python Training in Chennai/Best Python training in OMR/Best Python training in Velachery/Best Python course in Chennai/<a

Ravi Kumar said...

I am new in your website and found that you have provided such good coding knowledge THANKS FOR THIS AWESOME POST, I REALLY FOUND THE ARTICLE WHAT I AM SEARCHING FOR, YOU ARE PROVIDING GREAT KNOWLEDGE THROUGH YOUR WEBSITE, Good Friday Images

Debasish said...

Technooinfoos
Happywish

akash said...

osm!

Venkatesh CS said...


Excellent Blog. Thank you so much for sharing.
best react js training in Chennai
react js training in Chennai
react js workshop in Chennai
react js courses in Chennai
react js training institute in Chennai
reactjs training Chennai
react js online training
react js online training india
react js course content
react js training courses
react js course syllabus
react js training
react js certification in chennai
best react js training

QuickBooks Support Phone Number said...

One you relate with them the techies here that will help you the very best way they are able to. They truly are prompt and responsive in resolving the problem. Resolve any QuickBooks Tech Support Number issue because of the QB technicians instantly .

Blogsilly said...

To know more about our services, check out the list of the issues we solve. If your company also uses QuickBooks POS software to manage your sales, inventory and customers’ information, we have experts who can help you maintain this system too. Apart from troubleshooting, we can help you set up custom reporting, assist in migrating your data from old accounting system to QB, provide regular file cleanup and other enhancement services. We offer several support packages: basic, premium, and pro. Your choice of a package will depend on the number of software users, and a time period you want to receive our services. The packages include unlimited Intuit QuickBooks Support and 24/7 technical support. With our assistance, your business operations will never be interrupted due to the software failure.

kevin32 said...

Track expenses: Intuit QuickBooks Support lets you track and record income and expenses for tax time. Automated reports help you organize financial data in a single place. Create and send business invoices: the application enables you to custom create invoices and reports to assist you be in-charge of the business.

QuickBooks Payroll Support said...

What’s more important is to get the right help at the right time? Your time is valuable. You must invest it in an important business decision and planning. You can even contact our QuickBooks Customer Service Phone Number team using QuickBooks Support number. Anytime and anywhere you can solve your worries from our experts and Proadvisors via QuickBooks technical support number.

steffan said...

The Intuit QuickBooks Support can be acquired 24/7 to produce much-needed integration related support also to promptly take advantage of QuickBooks Premier along with other Microsoft Office software applications.

MODORBIT said...

Android Mod Apk

Food Maniac said...

Great post you could have improved the font and background please!!!
Good One

Alvi Ahmed Sohag said...

Hi Guys. Please contact us if you got any quires or any confusions about Baby products. We would be honored if We can help you. sorelle berkley crib reviews.

Alvi Ahmed Sohag said...


These baby cribs reviews help you to find out a traditional, unique, safe,
comfortable, reliable, sustainable and also most perfect baby cribs. . sorelle berkley crib reviews.

deepika said...

nice blog
get best placement VSIPL

get digital marketing service for your website
seo network point

Thomas said...

https://www.vodafone-customer-care-number.in/gujarat/

EST of SEO said...


Bob Proctor is an icon that has worked for many years helping people to learn their self-worth. He has written various different books in helping people to become prosperous
within their personal lives. In these books he covers different aspects which aid in a variety of different real-life situations that people experience.
Because of his work and way with words people have grown to respect him for his
stay motivated . His wise quotes are also known for giving people a sense of security,
self-worth and meaning in life. What a true gift to be able to help people from all over the world prosper in their lives.

visit website

QuickBooks Payroll Support said...

QuickBooks gives flexibility and territory self-sufficiency to immaculately manage their business assignments at whatever point from wherever on the planet. You could get more details about QuickBooks by moving toward the QuickBooks Support contact number. just through a call on the customer care or perhaps the toll-free QuickBooks Tech Support Number.

beststatusforwhatsapp said...

nice blog very usefull
HOW TO INSTALL AMAZON PRIME ON MI TV

Latest Tech Media

Prwatech said...

I Got Job in my dream company with decent 12 Lacks Per Annum salary, I have learned this world most demanding course out there in the current IT Market from the Data science courses in Bangalore Providers who helped me a lot to achieve my dreams comes true. Really worth trying.freelance SEO expert in bangalore

Author said...

Health Tip

MonkApk said...

This is Very very nice article. Everyone should read. Thanks for sharing. Don't miss Cool Fancy Text
Lucky Patcher App

steffan said...

You don’t have to worry when it comes to as our team is well-aware of recent software issues and problems. Also, they keep themselves updated utilizing the most advanced technology and errors introduced whenever you look at the software on regular period of time. You simply have to connect with us on phone by dialing QuickBooks Tech Support.

Blogsilly said...

Quickbooks Support Telephone Number
QuickBooks has completely transformed the way people used to operate their business earlier. To get familiar with it, you should welcome this positive change.Supervisors at Intuit QuickBooks Support Number have trained all of their executives to combat the issues in this software. Utilizing the introduction of modern tools and approaches to QuickBooks, you can test new techniques to carry out various business activities. Basically, this has automated several tasks that have been being done manually for a long time. There are lots of versions of QuickBooks and each one has a unique features.

Gaming Fan said...

PUBG Mobile Lite need minimum 2GB of RAM is claimed as per the official requirements

yuvaprithika said...

I feel satisfied to read your blog, you have been delivering a useful & unique information to our vision.keep blogging.
Regards,

Azure Training in Chennai
Azure Training center in Chennai
Azure courses in Chennai
R Training in Chennai
Vmware cloud certification
RPA Training in Chennai
DevOps certification in Chennai
Azure Training in Anna Nagar
Azure Training in T Nagar
Azure Training in OMR

Printer Setup and Support said...

Thank you for sharing this good article. visit our website.
123.hp.com || 123.hp.com/setup || 123HP Setup || hp.com/setup || hp.com/123 || 123.hp.com setup || 123 HP Setup || 123 HP Printer Support || 123 HP Setup and Install || 123hpcom || 123 HP Printer Install || 123hpcomsetup || 123HPPrinterWirelessSetup || 123HP Install || hpcom/123 || 123 HP || 123 HP Printer || 123 HP Smart App || 123.hp.com Printer Setup || HP 123 Setup

QuickBooks Payroll Support said...

The toll-free QuickBooks Tech Support Phone Number can be reached 24/7 to connect with the executives who are trained to help you fix any type of QuickBooks related issues. The support executives can even provide remote assistance under servers that are highly secured and diagnose the problem within a few minutes of the time period.

kevin32 said...

For several for the business organizations, QuickBooks Tech Support Phone Number really is and contains always been a challenging task to handle the business accounts in a proper way by finding the appropriate solutions. The best solutions are imperative for the growth of the company.

Elegant IT Services said...

Nice Post ,

hi Every one please click here to know more about Aws Training in Bangalore

Tech Guy said...

For AWS training in bangalore, Visit:
AWS training in Bangalore

tech blogger said...

great efforts
BISE Lahore 12th Class Result 2019
Inter Result 2019 bise sargodha
Lahore board inter part 2 result 2019
Multan 2019 2nd year

Anonymous Hacker said...

Best Ethical Hacking Institute in Meerut India

Ahmad Anwar said...

Nice That really Owsm you can Also visit this Apk Nap

jigar parmar said...

nice article
good thoughts in gujarati

Tech News said...

Visit here - Big data and hadoop training in bangalore

Tech Guy said...

For AI training in Bangalore, VISIT:
Artificial Intelligence training in Bangalore

ajay majhi said...

Thanks for sharing.it really helpful.nice information.
Data science course in pune
Data science classes in pune
Data science training in pune with placement
Data science training in pune

Technoabc said...

https://www.technoabc.com/

gk said...

bput
berhampur university
itm university
ktujm
ggu

gk said...

Uniraj Results UOR University of Rajasthan
ranchi university result
vbu result
prsu result
durg university result

«Oldest ‹Older   601 – 800 of 2285   Newer› Newest»